package com.yxx.service;

import com.yxx.entityModel.vo.request.CodeRequest;
import com.yxx.entityModel.vo.request.LoginRequest;
import com.yxx.entityModel.vo.request.RegisterRequest;

/**
 * 登录业务接口
 * @author yuxiangxun
 * @date 2025/1/19
 * @apiNote
 */
public interface LoginService {
    /**
     * 用户登录
     * @param login
     * @return
     */
    String login(LoginRequest login);

    /**
     * 发送邮箱验证码
     * @param username
     */
    void sendCode(String username);

    /**
     * 用户邮箱注册
     * @param registerRequest
     */
    void register(RegisterRequest registerRequest);

    /**
     * Gitee 登录
     * @param codeRequest
     * @return
     */
    String giteeLogin(CodeRequest codeRequest);


    /**
     * Github登录
     * @param data
     * @return
     */
    String githubLogin(CodeRequest data);

    /**
     * QQ登录
     * @param data
     * @return
     */
    String qqLogin(CodeRequest data);
}
